/**
 * 
 */
package com.yidu.springbootdemo.permission.action;

import com.yidu.springbootdemo.permission.action.vo.TmoduleVo;
import com.yidu.springbootdemo.permission.service.TmoduleService;
import com.yidu.springbootdemo.permission.tools.Messages;
import com.yidu.springbootdemo.permission.tools.Pages;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.*;

/**
 *	类的描述：
 * @author HJJ
 * @date 2019年9月27日 上午10:21:22
 */
@Controller
@RequestMapping("/module")
public class ModuleController {
	
	@Resource
	TmoduleService tmoduleService;
	
	
	/**
	 * 增加或修改时的下拉框数据
	 * @return
	 * @throws Exception
	 */
	@RequestMapping("/selectXiaLa")
	@ResponseBody
	public List<Map<String,Object>> selectAll() {
		TmoduleVo tom = new TmoduleVo();
		List<Map<String,Object>> lsite=new ArrayList<Map<String,Object>>();
		List<TmoduleVo> list = tmoduleService.findAll(tom);
		for (Iterator iterator = list.iterator(); iterator.hasNext();) {
			TmoduleVo tmodule = (TmoduleVo) iterator.next();
			Map<String,Object> map=new HashMap<String, Object>();
			map.put("name", tmodule.getModName());
			map.put("pId", tmodule.gettMModId());
			map.put("id", tmodule.getModId());
			
			lsite.add(map);
		}
		return lsite;
	}
	/**
	 * 	模块的增加和修改
	 * @return
	 */
	@RequestMapping("/addOrUp")
	@ResponseBody
	public Messages addOrUpdate(TmoduleVo tmo,HttpServletRequest request) {
		Messages msg = new Messages();
		String one[] = {"icon-yunying","icon-tubiao-","icon-liuliangyunpingtaitubiao03","icon-biaodanwancheng","icon-shangpin","icon-huojian","icon-zhishi","icon-caigou"};
		Random rand = new Random();
		int one1 = rand.nextInt(one.length);
		//先根据mmodID查名字 放入到tmo中 之后再用add方法
		String modid = request.getParameter("modId");
		if(!StringUtils.isEmpty(tmo.gettMModId())) {
		 TmoduleVo tom = tmoduleService.findByID(tmo.gettMModId());
		 tmo.settMModName(tom.getModName());
		}
		tmo.setModSor(1);
		tmo.setModState("Y");
		if(!StringUtils.isEmpty(modid)) {
			tmo.setModId(modid);
			tmoduleService.update(tmo);
		}else {
			tmo.setModComtwo(one[one1]);
			String rd = UUID.randomUUID().toString().replaceAll("-", "");
			tmo.setModId(rd);
			tmoduleService.add(tmo);
		}
		msg.setStatus(1);
		msg.setMsg("成功");
		return msg;
	}
	/**
	 * 	主界面显示所有
	 * @param mod
	 * @return
	 */
	@RequestMapping("/selectAll")
	@ResponseBody
	public Map<String,Object> select(TmoduleVo mod, HttpServletRequest request){
		Map<String, Object> map = new HashMap<String, Object>();
		int page = Integer.valueOf(request.getParameter("page"));
		int limit = Integer.valueOf(request.getParameter("limit"));
		//将 得到的页数 以及limit 放入到pages 的工具类中
		Pages pages1 = new Pages();
		pages1.setCurPage(page);
		pages1.setLimit(limit);
		int totalRows = tmoduleService.count(mod);
		//pages1.setTotalRows(totalRows);
		List<TmoduleVo> list = tmoduleService.findAll2(mod,pages1);//查数据
		map.put("code", 0);
		map.put("msg", "");
		map.put("count", totalRows);
		map.put("data", list);
		return map;
	}
	/**
	 * 	逻辑删除
	 */
	@RequestMapping("/delete")
	@ResponseBody
	public Messages delete(TmoduleVo mod) {
		Messages msg = new Messages();
		mod.setModState("N");
		tmoduleService.update1(mod);
		msg.setStatus(1);
		msg.setMsg("成功");
		return msg;
	}
	/**
	 * 	修改后出现原来的东西
	 * @return
	 */
	@RequestMapping("/selectOne")
	@ResponseBody
	public TmoduleVo selectOne(String modId) {
		
		return tmoduleService.findByID(modId);
	}
}